package com.monco.common.utils;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileOutputStream;
import java.util.UUID;

/**
 * 文件上传
 */
public class FileUtils {

    /**
     * 上传文件
     *
     * @param file     文件
     * @param filePath 上传文件路径，不包含文件名
     * @return 返回一个路径名
     * @throws Exception
     */
    public static String uploadFile(MultipartFile file, String filePath) throws Exception {
        //原文件名
        String filename = file.getOriginalFilename();
        //获取文件后缀名
        String suffix = filename.substring(filename.lastIndexOf("."));
        //判断目录是否为空，若为空新建目录
        File targetFile = new File(filePath);
        if (!targetFile.exists()) {
            targetFile.mkdirs();
        }

        String fileName = UUID.randomUUID().toString().replaceAll("-", "") + suffix;
        //上传文件路径
        String path = filePath + "/" + fileName;
        //上传
        FileOutputStream out = new FileOutputStream(path);
        out.write(file.getBytes());
        out.flush();
        out.close();
        return fileName;
    }
}
